package com.wyix.stander;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * @author wangdx
 * @since 2025/8/1
 */
public class AdvancedStudentSystem {
    public static void main(String[] args) {
        // 使用 try-with-resources 自动关闭资源（无需手动调用 close()）
        try (BufferedReader reader = new BufferedReader(
                new InputStreamReader(System.in, "UTF-8"))) {  // 指定字符编码

            System.out.println("===== 高级信息录入 =====");
            System.out.print("请输入姓名：");
            String name = reader.readLine();  // 缓冲流读取，效率更高

            System.out.print("请输入年龄：");
            int age = Integer.parseInt(reader.readLine());  // 手动类型转换

            System.out.print("请输入成绩：");
            double score = Double.parseDouble(reader.readLine());

            // 格式化输出（使用 printf 增强可读性）
            System.out.printf("\n===== 格式化信息 =====\n姓名：%s\n年龄：%d\n成绩：%.2f\n",
                    name, age, score);

        } catch (IOException e) {
            System.err.println("输入输出错误：" + e.getMessage());  // 使用 err 输出错误
        } catch (NumberFormatException e) {
            System.err.println("格式错误：请输入正确的数字");  // 捕获类型转换异常
        }
    }
}
